This section introduces aspects that may be helpful in facilitating a better understanding of the disclosure. Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is in the prior art or what is not in the prior art.
There are a variety of ways for transmitting messages. (In the context of this disclosure a message is a sequence of perturbations of the communication media e.g. the light that is guided on an optical fiber, or a signal that leads to or produces such perturbations while transmission is the sending of a message, the receiving of a message, the propagating of a message on such media or a combination of some or all of these activities.) A representative form of such information transmission in common use is denominated in the art as an Ethernet. The specifics of this form of transmission, to a large extent, are defined by IEEE Standard 802.3. Presently both Fast Ethernet (100 Base X Ethernet) with a baud rate of 125 Mbauds/sec and Gigabit Ethernet (1000 Base X Ethernet) of 1.25 Gigabauds/sec are in widespread use.
For a variety of communication links including Fast Ethernet and Gigabit Ethernet, the message is generally first placed into packets, followed by encoding the packet content into words. For Fast Ethernet a 4b5b word encoding technique is used i.e. for each 4-bit combination of binary digits there is assigned a unique corresponding 5-bit word (sometimes denominated a symbol or code group). For example, the 4-bit binary value for 0 is 0000 and it has assigned a 5 bit code group of 11110. Thus for each of the 16 4-bit numbers (commonly represented in a hexadecimal system as 0 through 9 and A through F), constituting the symbol alphabet for Fast Ethernet, there is assigned one unique 5-bit code group. Six control symbols denoted as /I/, /J/, /K/, /T/, /R/, and /H/ with their corresponding 5-bit code groups are employed in transmission. As a result, there are ten possible code groups that are not employed in Fast Ethernet transmission. (25 less 16 alphabet symbols less 6 control symbols).
The information as encoded into 5-bit code groups is generally formed into packets of 12,000 bits or smaller (down to 64 message bytes for Ethernet and as low as 16 message bytes for other protocols), but the standard allows for larger packets denominated jumbo packets. Each packet begins with the control code groups corresponding to /J/ and /K/ and each packet ends with the code groups corresponding to /T/ and /R/. Thus, as shown in FIG. 1, a packet begins with a /J//K/ sequence, continues with the information expressed in the required number of bits as expressed in 5-bit code groups and ends in a /T//R/ sequence, After word encoding the packet is further bit encoded, A variety of bit encoding approaches are employed including a NRZI (Non-Return to Zero with Inversion) bit encoding for Fast Ethernet and NRZ (Non-Return to Zero) for Gigabit Ethernet (See pages 272 through 281, inclusive, of a book titled Digital Transmission Systems, Second Edition by David R. Smith, ISBN 0-442-00917-9 which is hereby incorporated by reference in its entirety for a description of such bit encoding procedures). The clock, (i.e. the clock employed at both the receiver and transmitter to track the time interval), frequency and possibly phase, are synchronized irrespective of bit encoding approach by monitoring transitions from one signal level to the other. In the NRZ code the transition density is achieved by the selection of a word-encoding scheme whose code groups contain sufficient number of transitions to make clock recovery possible. The NRZI code ensures that transmittal signals contain sufficient transitions to again make clock recovery possible by requiring that the codewords contain, in turn, a sufficient number of bits whose value is 1.
The ability to synchronize is quite useful but because optical receivers require AC coupling to function properly and also for improved noise immunity, it is also desirable that the DC voltage level of the signal be approximately constant and typically approximately zero. As a result, the 5-bit code groups used as control or information symbols are chosen to have, after NRZI encoding, either three 1s and two 0s or three 0s and two 1s. By this expedient the DC voltage level is approximately constant since statistically the number of 1s and 0s will also be approximately equal. Other criteria are followed to enhance system operation. For example, it is desirable that the special characters are uniquely identifiable even without establishing word alignment. An overview of primary concerns behind the code design can be found in the paper by Widmer and Franaszek, titled “A DC-Balanced, Partitioned-Block, 8b/10b Transmission Code,” published in IBM Journal of Research and Development, Vol. 27, Number 5, September 1983, pp 440-451. Although this paper refers to the 8b10b code, the concerns and motivation outlined are valid for and applicable to all codes used in communications systems.
As with a variety of other communication approaches, the Ethernet Standard IEEE 802.3 also requires a gap between packets called the interpacket gap (IPG). Thus, in the case of Fast Ethernet, after the /T//R/ delimiter, a string of at least 22 5-bit code groups (11111) corresponding to the Idle (/I/) symbol are transmitted in an interval between packets of at least 11 bytes (or 22 symbols) and sufficient to fill such interval. (By convention, the interpacket gap is considered 12 bytes but the one byte of the /T//R/ delimiter from the previous packet is considered part of the 12 bytes). As shown in FIG. 1, the Idle code groups are present after the /T//R/ delimiter. The 802.3 Standard specifies that if there are fewer than two non-consecutive 0s within any 10 bit window, then the symbol is interpreted as an Idle symbol.
Gigabit Ethernet is encoded by a similar but somewhat more sophisticated approach. The word encoding is an 8b10b scheme. The 8b group is divided into the combination of a 5-bit and a 3-bit group for word encoding. Each 5 bit group in encoding is assigned a unique 6-bit group and each 3-bit group of the unencoded symbol is assigned a unique 4-bit group. Thus, the 8-bit group consisting of a 5-bit and a 3-bit unit is encoded into a 10-bit symbol consisting of a 6-bit and 4-bit unit. The standard classifies 10 bit symbols into K terms and D terms. This control sequence is generally encoded as a combination of a K term and D term (e.g. K28.5/Dxx.y). An example of a control sequence is an Idle sequence such as K28.5/D16.2. Bit encoding as previously discussed is done by the NRZ approach. The DC balance is again maintained by choosing the valid symbols to have parity between Os and 1s. However, because of the increased number of possible symbols beyond that which is ultimately employed, the valid symbols are divided into two domains. In forming the packet (which has packet sizes as described for Fast Ethernet), a symbol is chosen from either the first domain or the second domain so as to maintain the desired DC balance. Additional information about the 8b10b code can be found in U.S. Pat. No. 4,486,739 (Widmer and Franaszek) which is hereby incorporated by reference in its entirety.
Again, in Gigabit Ethernet, control words are employed to indicate the start of a packet and the end of a packet. An Idle symbol designated K28.5/D16.2 is also present. As with the alphabet symbols corresponding to all combinations of 8 information bits, the control symbols are present in both symbol domains. Thus, as with many other protocols, packets formed by word encoding alphabet symbols are separated by an interpacket gap comprising Idle symbols.
Irrespective of protocol it is very often desirable to find approaches that expand the information transmission rate without causing an unacceptable change in the system. A particular case of such transmission rate expansion is the addition of a side-channel that is employable for exchanging additional information such as, but not limited to, signaling, performance and monitoring. A side-channel flows messages between communicating parties on a link. A side-channel operates independently of the flow of messages traditionally assumed to be sent on such link and used to facilitate operation of the system. An approach implementing a change that is recognizable by an improved system but that still runs (without the bit rate improvement) on existing systems is denominated a transparent improvement. Similarly an improvement that will not run on existing systems but requires modification of such systems for proper functioning is denominated non-transparent. In general, transparent improvements are preferred, as they offer interoperability with already deployed systems, but non-transparent improvements that offer desirable results are not precluded. For many applications improvements that are inserted as desired, for example, at switches are particularly advantageous. Thus for such applications a transparent and/or non-transparent improvement to bandwidth that is used as desired would be advantageous.